<template>
	<view>
		<template v-if="disabled">
			<pic-pdf :value="value"></pic-pdf>
		</template>

		<lr-upload
			v-else
			v-model="value"
			:up-type="upType"
			tag="1"
			@on-change="uploadOnChange"></lr-upload>

		<!--    <uv-upload-->
		<!--      :fileList="imageValue"-->
		<!--      name="1"-->
		<!--      multiple-->
		<!--      accept="all"-->
		<!--      :maxCount="10"-->
		<!--    ></uv-upload>-->

		<!--    <uni-file-picker-->
		<!--      v-else-->
		<!--      v-model="imageValue"-->
		<!--      :fileMediatype="fileType"-->
		<!--      :limit="limit"-->
		<!--      mode="grid"-->
		<!--      :sizeType="['compressed']"-->
		<!--      @select="select"-->
		<!--      @progress="progress"-->
		<!--      @success="success"-->
		<!--      @fail="fail"-->
		<!--    />-->
	</view>
</template>

<script>
	import PicPdf from '@/components/pic-pdf.vue';
	import { AddOss } from '@/api/system/oss';
	import { getToken } from '@/utils/auth';
	import LrUpload from '@/components/lr-upload.vue';

	export default {
		name: 'ImageCommon',
		components: { PicPdf, LrUpload },
		data() {
			return {};
		},
		props: {
			upType: {
				type: Number,
				default: 0, //0图片 1文件  2图片+文件
			},
			value: {
				type: [String, Object, Array],
				default: () => {
					return [];
				},
			},
			// 图片数量限制
			limit: {
				type: Number,
				default: 20,
			},
			disabled: {
				type: Boolean,
				default: false,
			},
		},
		computed: {
			fileType() {
				//只支持 image/video/all
				return this.upType == 2 ? 'all' : 'image';
			},
		},
		methods: {
			uploadOnChange(e) {
				console.log('uploadOnChange', e);
				this.$emit('input', e);
			},
			// 获取上传状态
			select(e) {
				console.log('选择文件：', e);
				let a = uni.uploadFile({
					url: AddOss, // 仅为示例，非真实的接口地址
					filePath: e.tempFilePaths[0],
					header: {
						Authorization: 'Bearer ' + getToken(),
						'content-type': 'multipart/form-data',
					},
					name: 'file',
					timeout: 7000,
					// formData: this.formData,
					success: res => {
						console.log('上传成功了', res);
						let data = JSON.parse(res.data);

						// setTimeout(() => {
						resolve(data.data);
						// }, 1000)
					},
					fail: e => {
						console.log('上传失败了', e);
						reject(e.errMsg);
					},
				});
			},
			// 获取上传进度
			progress(e) {
				console.log('上传进度：', e);
			},

			// 上传成功
			success(e) {
				console.log('上传成功', e);
			},

			// 上传失败
			fail(e) {
				console.log('上传失败：', e);
			},
		},
	};
</script>

<style></style>
